import { createRouter, createWebHistory } from 'vue-router'
import { nprogressStart,nprogressClose } from '@/utils/nprogress'
import { useUserStore } from '@/stores/modules/user'
import { routes } from './routes'

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes,
})

// 全局前置守卫
router.beforeEach((to, from, next) => {
  const userStore = useUserStore()
  // 开始进度条 (移到最前面，确保每次路由切换都显示)
  nprogressStart()

  // 如果访问的是登录页或注册页，直接放行
  if (to.name === 'login' || to.name === 'register') {
    next()
  } else {
    // 如果访问的不是登录页或注册页，检查是否有token
    const token = userStore.token
    if (token) {
      next() // 有token，放行
    } else {
      next({ name: 'login' }) // 没有token，重定向到登录页
    }
  }
})

// 全局后置钩子
router.afterEach(() => {
  nprogressClose() // 关闭进度条
})

export default router
